import requests
from config import url, headers_web


class CourseVersion:

    def __int__(self):
        self.url = url
        self.headers = headers_web

    @classmethod
    def get_version_info(cls, url: str, headers, params, paramspath):
        """
        @Summary:获取课程版本信息,如没有版本信息，则生成版本信息
        @Description:云课堂老师端-课程建设详情使用
        :param url:
        :param headers:
        :param params:{
                        "validCode":"", # 验证码（id={}&signKey=123123）
                        "versionStatus":"" # 版本状态 0：已归档；1：使用中
                        }
        :param paramspath:id:课程id
        :return:object:{
                        "filingTime":"", # 归档时间
                        "filingUserId":"", # 归档人id
                        "filingUserName":"", # 归档人姓名
                        "filingUserNo":"", # 归档人工号
                        "sortTime":"",
                        "versionCompletion":"", # 版本完成度
                        "versionId":"", # 版本id
                        "versionNumber":"" # 版本号
                        }
        """
        url = url + f"/courseApi/v1/course/{paramspath}/courseversion"
        r = requests.get(url=url, headers=headers, params=params)
        return r

    @classmethod
    def post_version_info(cls, url: str, headers, params, json, paramspath):
        """
        @Summary:课程建设归档，生成版本号
        @Description:云课堂老师端-课程建设归档使用
        :param url:
        :param headers:
        :param params: {
                        "validCode":"" # 验证码（id={}&signKey=123123）
                        }
        :param json: object:{
                        "filingTime":"", # 归档时间
                        "filingUserId":"", # 归档人id
                        "filingUserName":"", # 归档人姓名
                        "filingUserNo":"", # 归档人工号
                        "sortTime":"",
                        "versionCompletion":"", # 版本完成度
                        "versionId":"", # 版本id
                        "versionNumber":"" # 版本号
                        }
        :param paramspath: id:课程id
        :return:
        """
        url = url + f"/courseApi/v1/course/{paramspath}/courseversion"
        r = requests.get(url=url, headers=headers, params=params)
        return r
